import java.util.Scanner;

public class Main2 {
    static int result=0;
    static boolean[]isvisit;
    static int[] a=new int[10];
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        isvisit=new boolean[10];//标记
        dfs(0);
        System.out.println(result);
        scan.close();
    }


    static void dfs(int index){
        //结束条件
        if(index==10){
            if(check()){
                result++;
            }
            return ;
        }

        //递归遍历  每一个都一样
        for(int i=0;i<10;i++){
            if(!isvisit[i]){
                isvisit[i]=true;
                a[index]=i;
                dfs(index+1);
                isvisit[i]=false;
            }
        }


    }
    static boolean check(){
        if(Math.abs(a[0]-a[1])==1||Math.abs(a[0]-a[4])==1||
                Math.abs(a[0]-a[3])==1||
                Math.abs(a[0]-a[5])==1||
                Math.abs(a[2]-a[1])==1||
                Math.abs(a[5]-a[1])==1||
                Math.abs(a[4]-a[1])==1||
                Math.abs(a[6]-a[1])==1||
                Math.abs(a[6]-a[2])==1||
                Math.abs(a[5]-a[2])==1||
                Math.abs(a[3]-a[4])==1||
                Math.abs(a[3]-a[7])==1||
                Math.abs(a[3]-a[8])==1||
                Math.abs(a[4]-a[5])==1||
                Math.abs(a[4]-a[7])==1||
                Math.abs(a[4]-a[8])==1||
                Math.abs(a[4]-a[9])==1||
                Math.abs(a[5]-a[6])==1||
                Math.abs(a[5]-a[8])==1||
                Math.abs(a[5]-a[9])==1||
                Math.abs(a[6]-a[9])==1||
                Math.abs(a[7]-a[8])==1||
                Math.abs(a[8]-a[9])==1
        ){return false;}
        else{ return true;}
    }
}